Deterministic Simulations

Shen Cheng

2024-10-25

Drug X

  • Drug X is a small molecule drug under early-phase clinical investigation to treat Disease Y in pediatric patients (age 2-18 years).

  • An phase-I single ascending dose (SAD) clinical study has been completed to investigate the PK of drug X, with 50 patients receiving 1, 2, 5, 10 and 20 mg dose of drug X.

  • A population PK model was developed using these PK data (./wk8/model/hwwk6.mod).

  • Some efficacy related endpoints were also collected and the clinical team are interested in exploring exposure-response relationships.

Exercise 1: Typical Value Simulation

  • The study team is now interested in exploring the weight-based dosing of 0.1 mg/kg. They want to know what would be the typical exposures in study population.

  • Question: What are the typical \(C_{max}\) and \(AUC_{0-48}\) following the administration of 0.1 mg/kg single dose in:

    • a 2-year old subject with 10 kg body weight.
    • a 10-year old subject with 40 kg body weight.
    • a 18-year old subject with 70 kg body weight.

Workflow-Typical Value Simulations

Workflow-Typical Value Simulations

Hands-on Session: Exercise 1

Files:

  • wk8/model/hwwk6.mod: mrgsolve model for Drug X.
  • wk8/ex1.R: R script to implement simulation.

Implementation notes:

  • What is the most efficient way to calculate AUC in the simulation?
    • Using the accumulation compartment to integrate concentration over time.
  • No uncertainty and variability (mod <- mod %>% zero_re()).
  • Weight-based dosing.
  • Need to have rate=-2 to enable the use of dosing duration (D1) in the model.

Hands-on Session: Exercise 1

Exercise 2: EBE Simulation

  • The study team want to explore the preliminary exposure-response relationships. They want you to derive the individual exposures (i.e., \(C_{max}\) and \(AUC_{0-48}\)) in the analysis data set.

  • Question: What are the individual \(C_{max}\) and \(AUC_{0-48}\) in the analysis data set?

Workflow-EBE Simulations

Workflow-EBE Simulations

Hands-on Session: Exercise 2

Files:

  • wk8/model/hwwk6.mod: mrgsolve model for Drug X.
  • wk8/ex2.R: R script to implement simulation.
  • wk8/data/cov_eta.csv: individual covariates and EBEs output by NONMEM.
  • wk8/data/iparam.csv individual PK parameters output by NONMEM.

Implementation notes:

  • Using the accumulation compartment to integrate concentration over time.
  • mod <- mod %>% zero_re()
  • rate=-2

Multiple ways to do this…

  • Method 1: Input typical model parameters, individual covariates and EBEs (output by NONMEM) to derive the individual PK parameters in mrgsolve for simulation.
  • Method 2: Input individual PK parameters (output by NONMEM) for simulation.

EBE Simulation: Method 1

Input typical model parameters, individual covariates and EBEs (output by NONMEM) to derive the individual PK parameters in mrgsolve for simulation.

  • Step 1: changes in the mrgsolve model file
[ PARAM ]  
  WT   = 70  // Body weight in Kg
  AGE  = 35  // Age in years
  CLI  = -1  // Dummy variable for input individual CL
  VI   = -1  // Dummy variable for input individual V
  KAI  = -1  // Dummy variable for input individual KA
  D1I  = -1  // Dummy variable for input individual D1
...
[ PK ] 
  ...
  double CL  = TVCL*CLCOV*exp(ETA(1));
  double V   = TVV*VCOV*exp(ETA(2)); 
  double KA  = TVKA; 
  double D1  = TVD1*exp(ETA(3));
  
  if (CLI > 0){ // Using EBE if input
    CL = CLI; 
    V  = VI; 
    KA = KAI; 
    D1 = D1I;
  }
  ...

EBE Simulation: Method 1

Input typical model parameters, individual covariates and EBEs (output by NONMEM) to derive the individual PK parameters in mrgsolve for simulation.

  • Step 2: changes in the simulation workflow
library(here)
iparam <- read.csv(here("wk8/data/iparam.csv"))
head(iparam)
  ID TIME  AMT RATE EVID CMT DOSE     CLI     VI     KAI     D1I
1  1    0 1000   -2    1   1 1000 1.51030 6.5580 0.20239 0.44194
2  2    0 1000   -2    1   1 1000 0.70720 2.0965 0.20239 0.63780
3  3    0 1000   -2    1   1 1000 0.57457 1.5149 0.20239 0.33467
4  4    0 1000   -2    1   1 1000 1.08920 1.6452 0.20239 0.54484
5  5    0 1000   -2    1   1 1000 0.42555 1.0825 0.20239 0.29377
6  6    0 1000   -2    1   1 1000 0.75007 1.8654 0.20239 0.61281
# Simulate
out2 <- mod_ebe %>% 
  data_set(iparam) %>%                
  mrgsim(...)

EBE Simulation: Method 2

Input individual PK parameters (output by NONMEM) for simulation.

library(here)
cov_eta <- read.csv(here("wk8/data/cov_eta.csv"))
head(cov_eta)
  ID TIME  AMT RATE EVID CMT DOSE    WT AGE      ETA1      ETA2      ETA3
1  1    0 1000   -2    1   1 1000 116.0  15  0.059229  0.352120 -0.050252
2  2    0 1000   -2    1   1 1000  62.6  17  0.119970 -0.062453  0.316620
3  3    0 1000   -2    1   1 1000  64.8  16 -0.200560 -0.428020 -0.328260
4  4    0 1000   -2    1   1 1000  60.6  12  0.151790 -0.266630  0.159090
5  5    0 1000   -2    1   1 1000  46.7  16 -0.148620 -0.378690 -0.458630
6  6    0 1000   -2    1   1 1000  66.5  13 -0.221170 -0.250380  0.276640
out1 <- mod %>% 
  data_set(cov_eta) %>%              
  mrgsim(...
         etasrc="data.all", # Search for ETAs in input data (cov_eta)         
         ...)      

Alignment between Methods 1 and 2

Individual parameters

Alignment between Methods 1 and 2

Individual predictions (IPRED)

Hands-on Session: Exercise 2

Hands-on Session: Exercise 2